home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr46 / rb14.zip / RB.DOC < prev    next >
Text File  |  1993-06-21  |  34KB  |  1,025 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                                   RAINBOW
  19.  
  20.                           (c) Copyright 1991-1993
  21.  
  22.                             Cornerstone Systems
  23.                               David A. Hattel
  24.                           20906 East Dorado Circle
  25.                            Aurora, Colorado 80015
  26.                                (303) 680-1768
  27.  
  28.                           Compuserve ID 70570,572
  29.  
  30.                             RAINBOW IS SHAREWARE
  31.  
  32.  
  33.  
  34.     If you find Rainbow enhances your editing environment, then support the
  35. shareware concept and send $29.95 or whatever you feel is a fair price to
  36. Cornerstone Systems.  Use the order form found in this document. Registered
  37. users will receive a registered name, serial number, and activation key
  38. which will remove the 5 second startup delay from the unregistered version.
  39. In addtion, registered users will receive update notices and technical support.
  40.  
  41.             Your comments and suggestions are greatly appreciated.
  42.  
  43.  
  44.  
  45.  
  46.     Rainbow is a utility that will colorize your editor.  At first it will
  47. seem inconsequential, but try it for 15 minutes and then try not to use it.
  48. It is meant to highlight reserved words and make your comments stand out in
  49. different colors. You can even have flashing text for those comments that
  50. must not be missed.
  51.  
  52.  
  53. System Requirements:
  54.     An IBM AT or compatible 286 machine or better.
  55.     MS-DOS or PC-DOS 3.0 or greater.
  56.     An EGA or better color monitor and graphics card.
  57.  
  58.     Rainbow works in TEXT mode ONLY (Modes 0, 1, 2, 3, 7, ?)
  59.     and for display page 0.  (It reads and writes directly to the text screen's
  60.     video memory for display page 0)
  61.  
  62.  
  63.     The normal use of rainbow is to put RB.EXE and RB.INI in the same
  64. directory as your editor.  Then rename your editor .EXE file to a new name
  65. such as EDITOR.EXE.  Then rename RB.EXE to the name that your editor used
  66. to be.  Then rename RB.INI to the same name which you renamed RB.EXE, but
  67. with the extension of .INI.  Change the editor name on the editor= line of
  68. the .INI file to match the new name of your editor .EXE file.  At this
  69. point, at the DOS prompt, type what you always have to edit files!
  70.  
  71.  
  72. Rainbow comes with the following files:
  73.  
  74.     RB.EXE        The main colorizing executable.
  75.  
  76.     RB.INI        A quickstart companion configuration file to RB.EXE which
  77.                   defines everything that Rainbow needs to know in decimal.
  78.  
  79.     RBINI.DEC     Example of a companion configuration file to RB.EXE which
  80.                   defines everything that Rainbow needs to know in decimal.
  81.  
  82.     RBINI.HEX     Example of a companion configuration file to RB.EXE which
  83.                   defines everything that Rainbow needs to know in hex.
  84.  
  85.     BRAND.EXE     Used when registering Rainbow.  It brands RB.EXE with your
  86.                   registered serial number and name and removes the 5 second
  87.                   startup delay.
  88.  
  89.     COLORS.EXE    A utility file to help you determine what number is
  90.                   associated with which color.
  91.  
  92.     EXEC.EXE      A utility used in determining the error code returned to
  93.                   DOS by Rainbow.
  94.  
  95.     DOS.ERR       A list of DOS error codes returned by Rainbow.
  96.  
  97.     RB.DOC        This file which explains how to use Rainbow.
  98.  
  99.     README.1ST    Important information relating to this version of Rainbow.
  100.                   It explains any changes you may need to make for this version
  101.                   of Rainbow to work properly if you are upgrading from a
  102.                   previous version of Rainbow.
  103.  
  104.     QUICKSTA.RT   For those of you who are anxious to get started with Rainbow,
  105.                   this one is for you.
  106.  
  107.  
  108.     RB.EXE is the program which is executed.  When executed, it calls your
  109. editor based on the "editor=" command which appears in the RB.INI file.
  110.  
  111.     Rainbow can be deactivated and activated when you are in your editor by
  112. pressing Alt-`.  The accent "`" is on the same key as the tilde "~".  The
  113. tilde key is usually located in the upper left hand corner of the keyboard.
  114.  
  115.  
  116.     BRAND.EXE is the utility used when registering Rainbow.  It brands RB.EXE
  117. with your registered serial number and name which are obtained by registering
  118. Rainbow with Cornerstone Systems.  This brands RB.EXE only, so if you have
  119. renamed RB.EXE to something else, you must rename it back to RB.EXE before
  120. running brand.  After you have completed the branding, you can then rename the
  121. branded RB.EXE to what ever you want.
  122.  
  123.  
  124.     COLORS.EXE is a utility which aids in identifying what number is
  125. associated with what color.  This is a stand alone utility which will print
  126. a color chart on the screen.  The /H switch will tell colors to display the
  127. color codes in hex rather than in the default decimal.
  128.  
  129.  
  130.     EXEC.EXE is a utility which displays the error codes Rainbow returns
  131. back to DOS.  The syntax for running exec.exe is "exec rb".  When returned
  132. back to DOS, any error codes return by Rainbow will be displayed to the
  133. screen.
  134.  
  135.  
  136.     RB.INI is the configuration file which tells RB.EXE everything about
  137. your editing environment.  The name of this file must remain the same as
  138. the name of the Rainbow EXE.  For example, if RB.EXE is renamed to E.EXE
  139. than the Rainbow INI file must also be renamed to E.INI.  When Rainbow is
  140. executed it first looks for the ".INI" file in the current working
  141. directory, if it does not find it, Rainbow then looks for it in the
  142. directory in which the ".EXE" file is located.  This gives you the ability
  143. to have different configuration files for different development
  144. environments. This ".INI" file is where you define what entities Rainbow
  145. should look at and the attributes of each entity.  An entity is made up of
  146. three parts: a token word, a token color attribute, and a token type
  147. identifier.  Each element of the entity is separated with a delimiter
  148. character.  The Default delimiter character is the pipe symbol "|", but
  149. this can be changed to what ever character you wish to use.
  150.  
  151. Example of an Entity:
  152.                         if|15|T
  153.  
  154.     A token word is a single word like "if" or "while".  When defining a
  155. token word, the casing of the word is important.  If you set the ignorecase=
  156. command to 0, to Rainbow the words "if", "IF", and "If" are not the same, they
  157. are treated as three separate token words.  If you set the ignorecase= command
  158. to 1, to Rainbow the words "if", "IF", and "If" are the same, they are treated
  159. as the same token word.  A token word can be up to 40 characters in length.
  160. Token words CANNOT contain any spaces, each word needs to be defined seperatly.
  161.  
  162.     A token color attribute is the color Rainbow will colorize a token word
  163. to, when it finds it.  A token color attribute is a numeric value ranging
  164. from 0 to 255 in decimal or 0 to FF in hexidecimal.  Which number base system
  165. Rainbow uses is determined by the usehex= command.  This number corresponds
  166. to the color you want the token word colorized to.  In the example above, the
  167. token word of "if" would be colorized to the color which corresponds to the
  168. number 15 which is bright white on black.  These numeric values can be
  169. determined by using the COLORS.EXE utility provided with Rainbow.  Use the /H
  170. switch with COLORS.EXE if you want the hex representation of the color values.
  171.  
  172.     A token type identifier tells Rainbow how to treat a token word when it
  173. is found.  The list below shows the available token type identifiers and
  174. what their functions are. When specifying a token type in the .ini file the
  175. case of the token type identifier does not matter.
  176.  
  177. Token Type  Function
  178. ──────────  ──────────────────────────────────────────────────────────────────
  179.     C       Tells Rainbow that the token word is the start of a comment and
  180.             that the entire line starting with the token word should be
  181.             colorized.
  182.  
  183.     CF      Tells Rainbow that the token word is the start of a comment and
  184.             that the entire line starting with the token word should be
  185.             colorized, but only if the token word is the first word of a line.
  186.  
  187.     F       Tells Rainbow that the token word is to be colorized only if it
  188.             is the first word of a line.
  189.  
  190.     L       Tells Rainbow that the entire line the token word is on should be
  191.             colorized.
  192.  
  193.     S       Tells Rainbow that the token word is to be colorized only if it
  194.             immediately follows another token word.
  195.  
  196.     T       Tells Rainbow to colorize only the token word itself.
  197.  
  198.  
  199. The structure of defining an entity
  200.  
  201.             Token word to be colorized
  202.             │
  203.             │       Delimiter symbol
  204.             │       │
  205.             │       │Color token word will be colorized to (numeric)
  206.             │       ││
  207.             │       ││  Another delimiter symbol
  208.             │       ││  │
  209.             │       ││  │Token word type (case insensitive)
  210.             │       ││  ││
  211.             xxxxxxxx│nnn│x
  212.  
  213.  
  214.  
  215.  
  216.         EXAMPLE 1:
  217.  
  218.             The actual token word ("function")
  219.             │
  220.             │       The color the token word will be
  221.             │       │ colorized in (5 = Magenta on Black)
  222.             │       │
  223.             │       │ Token (will colorize "function" only)
  224.             │       │ │
  225.             function│5│T
  226.  
  227.  
  228.  
  229.  
  230.         EXAMPLE 2:
  231.  
  232.             The actual token word ("function")
  233.             │
  234.             │       The color the token word will be
  235.             │       │ colorized in (2 = Green on Black)
  236.             │       │
  237.             │       │ Comment (will colorize "function" and the
  238.             │       │ │        rest of the line.)
  239.             function│2│C
  240.  
  241.  
  242.  
  243.         EXAMPLE 3:
  244.  
  245.             The actual token word ("function")
  246.             │
  247.             │       The color the token word will be
  248.             │       │ colorized in (2 = Green on Black)
  249.             │       │
  250.             │       │ First Occurrence (will colorize "function" only if it
  251.             │       │ │                is the first word on the line.)
  252.             function│2│F
  253.  
  254.  
  255.  
  256.         EXAMPLE 4:
  257.  
  258.             The actual token word ("case")
  259.             │
  260.             │   The color the token word will be
  261.             │   │ colorized in (2 = Green on Black)
  262.             │   │
  263.             │   │ Secondary Occurrence (will colorize "case" only if
  264.             │   │ │                   it immediately follows another
  265.             │   │ │                   token word .ie  'do case')
  266.             case│2│S
  267.  
  268.  
  269. ∙ Remember when defining token words, unless the ignorecase=1 command is used
  270.   in the .ini file, case is sensitive, see the chart below.
  271.  
  272.                  for a token word definition of:
  273.  
  274.                           function|7|T
  275.  
  276.             Token Word   ignorecase=1   ignorecase=0
  277.             ──────────   ────────────   ────────────
  278.             "function"   colorized      colorized
  279.             "FUNCTION"   colorized      not colorized
  280.             "Function"   colorized      not colorized
  281.  
  282.  
  283.                      THE BUILDING OF A CONFIGURATION FILE.
  284.  
  285.  
  286.  
  287. ∙ Do not put spaces between configuration file commands and the
  288. equal sign.
  289.  
  290.     editor=c:\editor\editor.exe      is RIGHT
  291.     editor = c:\editor\editor.exe    is WRONG
  292.  
  293. ∙ Configuration file reserved word commands are not case sensitive.
  294.  
  295. ∙ Configuration file reserved word commands must be flush left.
  296.  
  297. ∙ Blank lines are ignored
  298.  
  299.  
  300. All commands are MANDATORY for the correct operation of Rainbow unless
  301. otherwise specified.
  302.  
  303.  
  304. Commands    Description
  305. ────────    ───────────────────────────────────────────────────────────────────
  306. bottom=     This defines the last row that Rainbow will scan for tokens.
  307.             This number usually ranges between 0 and 50 depending on your
  308.             video capabilities. On a standard screen this number would be 24,
  309.             on a screen which supports more lines it would be equivalent to
  310.             the number of rows for the mode you are in.
  311.  
  312.             EXAMPLE: bottom=24
  313.  
  314.  
  315. clockr=     This tells Rainbow which row to put a continuously running
  316.             clock on. This number usually ranges between 0 and 50 depending
  317.             on your video capabilities. If you do not want a clock use -1.
  318.  
  319.             EXAMPLE: clockr=24
  320.  
  321.  
  322. clockc=     This tells Rainbow which column to put a continuously running
  323.             clock on. This number should be at least 8 less than the total
  324.             width of you screen.
  325.  
  326.             THIS COMMAND IS OPTIONAL only if clockr=-1.
  327.  
  328.             EXAMPLE: clockc=72
  329.  
  330.  
  331. delimiter=  This tells Rainbow what character is used as the delimiter when
  332.             tokens are being defined.  If this line is not in the
  333.             configuration file, than by default Rainbow will use the pipe
  334.             symbol "|" as the default delimiter character.
  335.  
  336.             THIS COMMAND IS OPTIONAL only if you use the '|' as your delimiter.
  337.  
  338.             EXAMPLE: delimiter=,
  339.  
  340.  
  341. editor=     This tells Rainbow where your editor is located and what
  342.             command executes your editor.  The editor name must include the
  343.             file extension and the full path of your editor.
  344.  
  345.             EXAMPLE: editor=c:\editor\editor.exe
  346.  
  347.  
  348. ignorecase= This tells Rainbow if it should pay attention to the case of the
  349.             tokens as define in the .ini file.  By default Rainbow colorizes
  350.             tokens only if the case on the screen matches the case in the
  351.             definition of the token in the .ini file.  The values for this
  352.             command are either 1 or 0.  1 tells Rainbow to ignore the case or
  353.             be case insensitive.  0 tells Rainbow to pay attention to the case
  354.             as defined in the .ini file.  The default value for this command
  355.             is 0 (case sensitive).
  356.  
  357.             THIS COMMAND IS OPTIONAL.
  358.  
  359.             EXAMPLE: ignorecase=1
  360.  
  361.  
  362. left=       This defines the first column for Rainbow to start scanning for
  363.             tokens.  0 is the left most column of the screen.  If your
  364.             editor has a border in column 0, this would then be set to 1
  365.             (left=1).
  366.  
  367.             EXAMPLE: left=0
  368.  
  369.  
  370. rem=        This is used for putting comment lines into your configuration
  371.             file.  Comments cannot be longer than 75 characters.
  372.  
  373.             THIS COMMAND IS OPTIONAL.
  374.  
  375.             EXAMPLE: rem=this is a comment line which Rainbow ignores.
  376.             EXAMPLE: rem=editor=c:\ng\ng.exe
  377.  
  378.  
  379. right=      This defines the last column that Rainbow will scan for tokens.
  380.             This number usually ranges between 0 and 79.  79 is the right
  381.             most column of the screen.  If your editor has a border in column
  382.             79, this would then be set to 78 (right=78).
  383.  
  384.             EXAMPLE: right=79
  385.  
  386.  
  387. switch=     This is for command line switches specific to your editor that
  388.             you may pass to your editor.  You can have up to nine of these.
  389.             The total combined number of characters for all nine of these
  390.             switches cannot be more than 45 characters.
  391.  
  392.             THIS COMMAND IS OPTIONAL.
  393.  
  394.             EXAMPLE: switch=-lc:\editor\macros.cm
  395.                      switch=-ec:\editor\startup.cm
  396.  
  397.  
  398. text=       This is the color attribute that your editor normally uses. For
  399.             instance if your screen text is white on black you would use
  400.             the number 7.  Use the COLORS.EXE utility to help you determine
  401.             the right color attribute.
  402.  
  403.  
  404.             ***************** EXTREMELY IMPORTANT *******************
  405.             *                                                       *
  406.             *    If you do not get this set to the correct color    *
  407.             *  attribute, Rainbow will appear to not be working at  *
  408.             *  all.  Therefore, if your screen does not become      *
  409.             *  colorized when running Rainbow, double check to      *
  410.             *  make sure this value is correct.                     *
  411.             *                                                       *
  412.             *********************************************************
  413.  
  414.             EXAMPLE: rem=My editor screen is white on black
  415.                      text=7
  416.  
  417.  
  418. top=        This defines the screen row where Rainbow starts scanning for
  419.             tokens.  This number usually ranges between 0 and 50 depending
  420.             on your video capabilities.  0 is the top row of the screen.
  421.  
  422.             EXAMPLE: top=0
  423.  
  424.  
  425. usehex=     This tells Rainbow if you are defining the colors of your token
  426.             words in hex or decimal.  This only effects the values used in
  427.             defining the token colors, all other values are still in decimal.
  428.             This command must be specified at the beginning of the .ini file
  429.             prior to the definition of any tokens.  Use the /H switch with
  430.             the COLORS.EXE utility to get the hex values for colors.  The
  431.             values for this command are either 1 to use hex or 0 to use
  432.             decimal.  The default value is 0.
  433.  
  434.             THIS COMMAND IS OPTIONAL.
  435.  
  436.             EXAMPLE: usehex=1
  437.  
  438.  
  439. version=    This tells Rainbow if it should display the version number and
  440.             registration information at startup. The values for this command
  441.             are either 1 to display it or 0 not to display it. The unregistered
  442.             version defaults to version=1 and ignores any other setting of the
  443.             version= command.
  444.  
  445.             THIS COMMAND IS OPTIONAL.
  446.  
  447.             EXAMPLE: version=1
  448.  
  449. width=      This tells Rainbow how many screen columns your editor uses.
  450.             This should normally be set to 80 but some video cards and
  451.             editors allow other than 80 columns to be used, such as 40, 100
  452.             or 132.
  453.  
  454.             EXAMPLE: width=80
  455.  
  456.  
  457.                                  SPECIAL NOTES
  458.  
  459.  
  460.  
  461. SPECIAL NOTE:
  462.             If you rename RB.EXE to another name, you must also rename
  463.             the RB.INI file to the same name but with the ".INI" extension.
  464.             For Example, if you rename RB.EXE to E.EXE you must also rename
  465.             RB.INI to E.INI.
  466.  
  467.  
  468. BRIEF USERS:
  469.             Brief can use multiple video pages,  Rainbow assumes that video
  470.             page 0 is being used.  For Brief version 3.0, in Briefs setup,
  471.             from the Main Menu, select the Display option.  Then from the
  472.             Display Menu select the Video Page Test Option. Under the Video
  473.             Page Test option, Brief asks if you are using any resident
  474.             programs from the list of incompatibilities.  Select Yes for
  475.             this option.  This tells Brief to only use one video page, doing
  476.             this will enable Rainbow to work with Brief.
  477.  
  478.  
  479. 386Max and QEMM Users:
  480.             Do not relocate your video ROM into RAM, doing this has been known
  481.             to intermittently hang machines.
  482.  
  483.  
  484. Activation/Deactivation Key:
  485.             Rainbow can be activated and deactivated when you are in your
  486.             editor by pressing Alt-`.  The accent "`" is on the same key as
  487.             the tilde "~".  The tilde key is usually located in the upper
  488.             left hand corner of the keyboard.
  489.  
  490.                                 COMMON PROBLEMS
  491.  
  492.  
  493. ■ PROBLEM 1:  Rainbow will not colorize anything.
  494.  
  495.         POSSIBLE FIXES:
  496.  
  497.                 1) It is very critical that the text= statement in the
  498.                     ".INI" file has the correct value, refer to the text=
  499.                     command for further explanation.  If it is wrong
  500.                     Rainbow will appear to not be working.
  501.  
  502.                 2) Make sure the left= statement in the ".INI" file takes
  503.                     into account any borders your editor may have. If you
  504.                     have a border in the first column of your screen the
  505.                     left= statement should be set to 1 (left=1) as opposed
  506.                     to 0.
  507.  
  508.  
  509. ■ PROBLEM 2:  Rainbow exits back to DOS without doing anything.
  510.  
  511.         POSSIBLE FIXES:
  512.  
  513.                 Rainbow sets DOS's errorlevel with any errors it
  514.                 encounters.  If it returns 100 then it cannot find it's
  515.                 .INI file, make sure the .INI file has the same first name
  516.                 as the RAINBOW executable, also make sure that the .INI
  517.                 file is in the current directory or in the same directory
  518.                 as the Rainbow executable.  If it returns 101 then it is
  519.                 out of memory.  If the .INI file has many tokens (several
  520.                 hundred?) try removing several until this error goes away.
  521.                 Any other error is a normal DOS error, see the attached
  522.                 file (DOS.ERR) for these error codes.
  523.  
  524. ■ PROBLEM 3:  Some lines will not colorize.
  525.  
  526.         POSSIBLE FIXES:
  527.  
  528.                 The width= command in the .INI file may not be set correctly.
  529.                 The width should be set to the number of columns that are
  530.                 available when you are in your editor.  An important note is
  531.                 that the left= and right= commands in the .INI file are not
  532.                 linked to the width= command in any way.  For instance in your
  533.                 editor comes up in 132 column mode the width= command should be
  534.                 set to width=132 even though the left= command could be set to
  535.                 left=1 and the right= command could be set to right=128.
  536.  
  537.                 If this does not fix your problem, try problem 4 resolution.
  538.  
  539.  
  540. ■ PROBLEM 4:  Tokens will not colorize if there is a space after them.
  541.  
  542.                 examples:
  543.                     if (...)    if will not colorize
  544.                     if(...)     if will colorize
  545.  
  546.         POSSIBLE FIXES:
  547.  
  548.                 When defining a token you cannot have any spaces in the token
  549.                 definition.
  550.  
  551.                     example of bad definition:
  552.                         do while,3,t
  553.  
  554.                         This is an invalid token definition, it must be broken
  555.                         up into two seperate definitions
  556.  
  557.                     example of good definitions:
  558.                         while,3,t
  559.                         do,3,t
  560.  
  561. ■ PROBLEM 5:  Rainbow intermittently hangs.
  562.  
  563.         POSSIBLE FIXES:
  564.  
  565.                 Do not relocate your video ROM into RAM with memory managers
  566.                 such as 386Max or QEMM.  Doing this has been known to
  567.                 intermittently hang machines.
  568.  
  569.  
  570.                         SAMPLE RAINBOW SETUP PROCEDURE
  571.  
  572.  
  573. This is a sample using Semware's QEdit.
  574.  
  575.         C:\EDITOR> rename Q.EXE EDITOR.EXE
  576.  
  577.         C:\EDITOR> rename RB.EXE Q.EXE
  578.  
  579.         C:\EDITOR> rename RB.INI Q.INI
  580.  
  581.         Remember to change the editor= line in the Q.INI file to be
  582.         editor=c:\editor\editor.exe for this example
  583.  
  584. Now type Q as you always have to edit your files.
  585.  
  586.                                SAMPLE .INI FILE
  587.  
  588.  
  589. rem= ***** Sample Configuration file for Rainbow *****
  590. rem= ***** USEHEX=0, meaning token are defined in decimal
  591. rem= ***** The editor text color is cyan on black (decimal 3).
  592.  
  593. delimiter=,
  594. ignorecase=0
  595. usehex=0
  596. version=1
  597.  
  598. top=0
  599. left=0
  600. bottom=26
  601. right=79
  602. width=80
  603. clockr=27
  604. clockc=72
  605.  
  606. editor=c:\tse\tse.exe
  607.  
  608. text=3
  609.  
  610. //,2,c
  611. &&,2,cf
  612. *,2,cf
  613. /*,2,cf
  614. :,2,cf
  615. #,2,cf
  616.  
  617. _,3,T
  618.  
  619. #define,9,T
  620. #include,9,T
  621.  
  622. -=,10,T
  623. +=,10,T
  624. ++,10,T
  625. --,10,T
  626. :=,10,T
  627.  
  628. do,11,F
  629. if,11,F
  630. iif,11,T
  631. .or.,11,T
  632. .and.,11,T
  633. end,11,F
  634. for,11,F
  635. case,11,T
  636. else,11,F
  637. next,11,F
  638. while,11,T
  639. enddo,11,F
  640. endif,11,F
  641. begin,11,F
  642. elseif,11,F
  643. switch,11,F
  644. endcase,11,F
  645. sequence,11,S
  646. otherwise,11,F
  647.  
  648. exit,12,t
  649. break,12,t
  650.  
  651. {,13,T
  652. },13,T
  653. return,13,F
  654. function,13,C
  655.  
  656. =,14,T
  657. >,14,T
  658. <,14,T
  659. |=,14,T
  660. !=,14,T
  661. >=,14,T
  662. <=,14,T
  663. ==,14,T
  664. <>,14,T
  665. new,14,T
  666. use,14,F
  667. alias,14,T
  668. select,14,F
  669. exclusive,14,T
  670.  
  671. CHAR,15,T
  672. SHORT,15,T
  673. PCHAR,15,T
  674. HWND,15,T
  675. APIENTRY,15,T
  676. BOOL,15,T
  677. PCH,15,T
  678. VIOPHYSBUF,15,T
  679. PULONG,15,T
  680. PUCHAR,15,T
  681. PBYTE,15,T
  682. USHORT,15,T
  683. PFNTHREAD,15,T
  684. PTID,15,T
  685. TID,15,T
  686. ULONG,15,T
  687. integer,15,t
  688. string,15,t
  689. unsigned,15,t
  690. int,15,T
  691. VOID,15,T
  692. void,15,T
  693. char,15,T
  694. field,15,F
  695. local,15,F
  696. static,15,F
  697. public,15,F
  698. memvar,15,F
  699. declare,15,F
  700. private,15,F
  701. external,15,F
  702. dimension,15,F
  703. parameter,15,F
  704. parameters,15,F
  705.  
  706. *note,140,C
  707. //note,140,C
  708.  
  709.                               SAMPLE .INI FILE
  710.  
  711.  
  712. rem= ***** Configuration file for Rainbow *****
  713. rem= ***** USEHEX=1, meaning token are defined in hex not decimal.
  714. rem= ***** The editor text color is cyan on black (hex 3).
  715.  
  716. delimiter=,
  717. ignorecase=0
  718. usehex=1
  719. version=1
  720.  
  721. top=0
  722. left=0
  723. bottom=26
  724. right=79
  725. width=80
  726. clockr=27
  727. clockc=72
  728.  
  729. editor=c:\tse\tse.exe
  730.  
  731. text=3
  732.  
  733. //,2,c
  734. &&,2,cf
  735. *,2,cf
  736. /*,2,cf
  737. :,2,cf
  738. #,2,cf
  739.  
  740. _,3,T
  741.  
  742. #define,9,T
  743. #include,9,T
  744.  
  745. -=,0A,T
  746. +=,0A,T
  747. ++,0A,T
  748. --,0A,T
  749. :=,0A,T
  750.  
  751. do,0B,F
  752. if,0B,F
  753. iif,0B,T
  754. .or.,0B,T
  755. .and.,0B,T
  756. end,0B,F
  757. for,0B,F
  758. case,0B,T
  759. else,0B,F
  760. next,0B,F
  761. while,0B,T
  762. enddo,0B,F
  763. endif,0B,F
  764. begin,0B,F
  765. elseif,0B,F
  766. switch,0B,F
  767. endcase,0B,F
  768. sequence,0B,S
  769. otherwise,0B,F
  770.  
  771. exit,0C,t
  772. break,0C,t
  773.  
  774. {,0D,T
  775. },0D,T
  776. return,0D,F
  777. function,0D,C
  778.  
  779. =,0E,T
  780. >,0E,T
  781. <,0E,T
  782. |=,0E,T
  783. !=,0E,T
  784. >=,0E,T
  785. <=,0E,T
  786. ==,0E,T
  787. <>,0E,T
  788. new,0E,T
  789. use,0E,F
  790. alias,0E,T
  791. select,0E,F
  792. exclusive,0E,T
  793.  
  794. CHAR,0F,T
  795. SHORT,0F,T
  796. PCHAR,0F,T
  797. HWND,0F,T
  798. APIENTRY,0F,T
  799. BOOL,0F,T
  800. PCH,0F,T
  801. VIOPHYSBUF,0F,T
  802. PULONG,0F,T
  803. PUCHAR,0F,T
  804. PBYTE,0F,T
  805. USHORT,0F,T
  806. PFNTHREAD,0F,T
  807. PTID,0F,T
  808. TID,0F,T
  809. ULONG,0F,T
  810. integer,0F,t
  811. string,0F,t
  812. unsigned,0F,t
  813. int,0F,T
  814. VOID,0F,T
  815. void,0F,T
  816. char,0F,T
  817. field,0F,F
  818. local,0F,F
  819. static,0F,F
  820. public,0F,F
  821. memvar,0F,F
  822. declare,0F,F
  823. private,0F,F
  824. external,0F,F
  825. dimension,0F,F
  826. parameter,0F,F
  827. parameters,0F,F
  828.  
  829. *note,8C,C
  830. //note,8C,C
  831.  
  832.                               VERSION HISTORY
  833.                           ──────────  ──────────
  834.  
  835.     EXE dated   06/21/93    version 1.4
  836.  
  837.                 1.      Added the token types of "L" and "CF".
  838.  
  839.                 2.      Added the ability to define token colors in either
  840.                         deciaml or hex through the usehex= command.
  841.  
  842.                 3.      Added the /H switch to COLORS.EXE which shows the
  843.                         hex values for colors rather than the decimal values.
  844.  
  845.                 4.      Added the case insensitive recognition of tokens
  846.                         through the ignorecase= command.
  847.  
  848.                 5.      Included the EXEC.EXE utility to determine the error
  849.                         codes Rainbow returns back to DOS.
  850.  
  851.                 6.      The version= command now requires either a 1 or a 0
  852.                         following it.  A 1 tells Rainbow to display the version
  853.                         and registration information and a 0 tells Rainbow not
  854.                         to display the information.  The unregistered version
  855.                         defaults to version=1 and ignores version=0.
  856.  
  857.                 7.      Added a branding facility for registered users.
  858.                         Unregistered users will experience a 5 second delay
  859.                         when starting up Rainbow, otherwise Rainbow is fully
  860.                         functional.  Registering Rainbow will remove this
  861.                         delay.
  862.  
  863.                           ──────────  ──────────
  864.  
  865.     EXE dated   12/10/92    version 1.3
  866.  
  867.                 1.      Fixed a problem found with the REM= command which would
  868.                         cause Rainbow to intermittently coloize tokens.
  869.  
  870.                           ──────────  ──────────
  871.  
  872.     EXE dated   12/09/92    version 1.2
  873.  
  874.                 1.      Added a version number to the .EXE starting with
  875.                         version 1.2.  The version is displayed only when the
  876.                         command "version=" is in the .ini file.
  877.  
  878.                 2.      Fixed a bug that caused Rainbow to colorize tokens that
  879.                         were contained within another word.  For example, in
  880.                         the word "Block" the letters "loc" which were defined
  881.                         as a token would be colorized.
  882.  
  883.                           ──────────  ──────────
  884.  
  885.     EXE dated   07/20/92    version 1.0a
  886.  
  887.                     1.  Added a new command width= which tells
  888.                         Rainbow how many columns your editor is
  889.                         using when you edit.  This allows support
  890.                         for any number of columns in your editor,
  891.                         ie. 40, 80, 100, 132, etc..
  892.  
  893.                     2.  Added a new command clockc= to put the clock
  894.                         on the specified column
  895.  
  896.                     3.  Changed clock= to clockr= to specify the clock
  897.                         row.
  898.  
  899.                     4.  Removed the command ng= which loaded the Norton
  900.                         Guides in pass throught mode.  To accomplish this
  901.                         now set editor= to your norton guides and set the
  902.                         first switch= to your editor path and name.
  903.                         EXAMPLE:
  904.                             editor=c:\ng\ng.exe
  905.                             switch=c:\q\q.exe
  906.  
  907.                           ──────────  ──────────
  908.  
  909.     EXE dated   07/12/92    version 1.0
  910.  
  911.                     Initial release.
  912.  
  913.  
  914.                            RAINBOW REGISTRATION FORM
  915.  
  916.       Please add me as a supporter of Rainbow and let me know of updates.
  917.                           Thanks for your support!
  918.  
  919.   Name    _____________________________________________________________
  920.  
  921.   Company _____________________________________________________________
  922.  
  923.   Address _____________________________________________________________
  924.  
  925.   City    ______________________________ State _________ Zip __________
  926.  
  927.   Amount  $_________________ Date _______________ Copies ______________
  928.  
  929.   Compuserve ID _________________________________ Phone _______________
  930.  
  931.                        (Staple Check to Bottom of Page)
  932.  --------------------------------- Fold Here ----------------------------------
  933.  
  934.                                                                        -------
  935.                                                                       │ place │
  936.                                                                       │ stamp │
  937.                                                                       │ here  │
  938.                                                                        -------
  939.  
  940.  
  941.  
  942.  
  943.  
  944.                                 Cornerstone Systems
  945.                                 20906 East Dorado Circle
  946.                                 Aurora, Colorado  80015
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  --------------------------------- Fold Here ----------------------------------
  955.  
  956.                           COPYRIGHT/LICENSE/WARRANTY
  957.  
  958.     This document and the program file RB.EXE ("the software") are
  959. copyrighted by the author.  The copyright owner hereby licenses you to use
  960. the software given these restrictions:
  961.  
  962.         ∙  the program shall be supplied in its original, unmodified
  963.            form, which includes this documentation;
  964.  
  965.         ∙  for-profit use without a license is prohibited;
  966.  
  967.         ∙  the program may not be included - or bundled - with other
  968.            goods or services.  Exceptions may be granted upon request
  969.            only;
  970.  
  971.         ∙  no fee is charged; an exception is granted to non-profit
  972.            user's groups, which are permitted to charge a small fee
  973.            (not to exceed $5) for materials, handling, postage, and
  974.            general overhead.  No other organization is permitted to
  975.            charge any amount for distribution of copies of the software
  976.            or documentation, or to include copies of the software or
  977.            documentation with sales of their own products.  Exceptions
  978.            may be granted upon request only;
  979.  
  980.  
  981.     Cornerstone Systems hereby disclaims all warranties relating to this
  982. software, whether expressed or implied, including without limitation any
  983. implied warranties of merchantability or fitness for a particular purpose.
  984. Cornerstone Systems will not be liable for any special, incidental,
  985. consequential, indirect or similar damages due to loss of data or any other
  986. reason, even if Cornerstone Systems or an agent of Cornerstone Systems has
  987. been advised of the possibility of such damages.  In no event shall
  988. Cornerstone Systems liability for any damages ever exceed the price paid
  989. for the license to use this software, regardless of the form of the claim.
  990. The person using the software bears all risk as to the quality and
  991. performance of the software.
  992.  
  993.  
  994.  
  995.  
  996.                                  THANK YOU
  997.  
  998.  
  999.     I would like to give a Special Thanks for programming assistance and
  1000. for the incredible ability to optimize and compress code to Peter Birch
  1001. CIS: 70473, 552.
  1002.  
  1003.     Also I would like to thank the following people for their support,
  1004. assistance, and comments:
  1005.                                 David Bauer
  1006.                                Lance Johnston
  1007.                                Stephen Usrey
  1008.  
  1009.  
  1010. I would also like to thank you (the user) for using this utility. I hope
  1011. that it makes your editing life easier and more colorful as it has made
  1012. mine.
  1013.  
  1014.  
  1015.  
  1016.                                  TRADEMARKS
  1017.  
  1018.  
  1019.  
  1020. Qedit is a trademark of Applied Systems Technology, Inc.
  1021. Brief is a trademark of Borland International, Inc.
  1022. MS-DOS is a trademark of Microsoft Corporation.
  1023. IBM PC is a trademark of IBM.
  1024. Norton Guides is a trademark of Peter Norton Computing Incorporated.
  1025.